// MIR for `boo` after built

fn boo(_1: Boo) -> usize {
    debug boo => _1;                     // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:+0:21: +0:26
    let _2: Boo;                         // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
    let mut _3: u8;                      // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
    let mut _4: u8;                      // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
    let mut _5: bool;                    // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:17

    bb0: {
        StorageLive(_2);                 // scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
        _2 = move _1;                    // scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
        _3 = discriminant(_2);           // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        _4 = _3 as u8 (IntToInt);        // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        _5 = Le(_4, const 1_u8);         // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        assume(move _5);                 // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        _0 = move _3 as usize (IntToInt); // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        StorageDead(_2);                 // scope 0 at $DIR/enum_cast.rs:+1:16: +1:17
        return;                          // scope 0 at $DIR/enum_cast.rs:+2:2: +2:2
    }
}
